#include "pch.hpp"
#include "AudioDevice.hpp"

#include "FMODDevice.hpp"




AudioDevice::AudioDevice()
{}
///////////////////////////////////////////////////////////////////////////////////////////////////

AudioDevice::~AudioDevice()
{}
///////////////////////////////////////////////////////////////////////////////////////////////////




QString AudioDevice::name() const
{
	return "AudioDevice";
}
///////////////////////////////////////////////////////////////////////////////////////////////////




AudioAdapters AudioDevice::queryAdapters(Audio::Type audioDevice)
{
	switch(audioDevice)
	{
	case Audio::FMOD: return FMODDevice::queryAdapters();
	default: BOOSTEXT_THROW(invalid_value_exception(audioDevice));
	}
}
///////////////////////////////////////////////////////////////////////////////////////////////////




DevicePtr AudioDevice::create(const EngineInfo& info)
{
	switch(info.audioDevice)
	{
	case Audio::FMOD: return DevicePtr(new FMODDevice(info));
	default: BOOSTEXT_THROW(invalid_value_exception(info.audioDevice));
	}
}
///////////////////////////////////////////////////////////////////////////////////////////////////
